/*
Copyright (c) [2019年5月1日] [吴超]
[MBT_studio] is licensed under Mulan PSL v2.
You can use this software according to the terms and conditions of the Mulan PSL v2.
You may obtain a copy of Mulan PSL v2 at:
		 http://license.coscl.org.cn/MulanPSL2
THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
See the Mulan PSL v2 for more details.
*/
#pragma once

#include "UI/Widget.h"
#include "UI/ui绘制模板.h"
#include "UI/布局.h"

#include "ui文本编辑.h"



class C_编辑框Bool : public C_Widget {

public:
	C_编辑框Bool(S_UI创建环境& ctx, S_Props& Value);
	~C_编辑框Bool();

	fp_Widget布尔值回调	mf_值改变回调;
	ui_绘制模板_画预设图形 m_背景绘制;

	S_Props				m_Value;
	bool				m_开启编辑;

	void f_刷新();
};



class C_数值编辑框 : public C_行编辑框 {
	
public:
	C_数值编辑框(S_UI创建环境& ctx, S_Props& Value, uint8 分量 = 0);
	~C_数值编辑框();

	uint8	m_分量;
	uvec2	m_图元;
	//S_Props	m_Value;
	bool	m_拖拽;

	std::wstring			m_标签;
	//ui_绘制模板_画预设图形	m_框部件;
	//ui_绘制模板_行文本绘制	m_数值绘制;

	void	f_输入完成();
	bool	f_使用子类拖放事件();
};



class C_编辑框I8 : public C_Widget {

public:
	C_编辑框I8(S_UI创建环境& ctx);
	~C_编辑框I8();

	S_Props	m_Value;
	bool	m_开启编辑;
};

class C_编辑框UI8 : public C_Widget {

public:
	C_编辑框UI8(S_UI创建环境& ctx);
	~C_编辑框UI8();

	S_Props	m_Value;
	bool	m_开启编辑;
};


class C_编辑框I16 : public C_Widget {

public:
	C_编辑框I16(S_UI创建环境& ctx);
	~C_编辑框I16();

	S_Props	m_Value;
	bool	m_开启编辑;
};

class C_编辑框UI16 : public C_Widget {

public:
	C_编辑框UI16(S_UI创建环境& ctx);
	~C_编辑框UI16();

	S_Props	m_Value;
	bool	m_开启编辑;
};


class C_编辑框Int32 : public C_Widget {
	
public:
	C_编辑框Int32(S_UI创建环境& ctx);
	~C_编辑框Int32();

	S_Props	m_Value;
	bool	m_开启编辑;
};

class C_编辑框UI32 : public C_Widget {

public:
	C_编辑框UI32(S_UI创建环境& ctx);
	~C_编辑框UI32();

	S_Props	m_Value;
	bool	m_开启编辑;
};

class C_编辑框F32 : public C_Widget {

public:
	C_编辑框F32(S_UI创建环境& ctx);
	~C_编辑框F32();

	S_Props	m_Value;
	bool	m_开启编辑;
};




class C_RGBA8选择框 : public C_Widget {

public:
	C_RGBA8选择框(S_UI创建环境& ctx, S_Props& prop);
	~C_RGBA8选择框();

	ui_绘制模板_画预设图形	m_背景绘制;
	ui_绘制模板_行文本绘制	m_标签绘制;

	S_Props	m_Value;
	
};



class C_拾色器 : public C_Widget {
	
public:
	C_拾色器(S_UI创建环境& ctx, S_Props& prop);

	ui_绘制模板_画预设图形	m_背景绘制;
	ui_绘制模板_行文本绘制	m_字符绘制;
	ui_绘制模板_图标		m_图标绘制;

	S_Props m_Value;

};





